package com.atguigu.jxc.dao;

import com.atguigu.jxc.entity.Customer;
import com.atguigu.jxc.entity.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description 商品信息
 */
public interface GoodsDao {


    String getMaxCode();


    List<Goods> getListInventory(@Param("offset") int offset,
                                 @Param("rows") Integer rows,
                                 @Param("codeOrName") String codeOrName,
                                 @Param("goodsTypeId") Integer goodsTypeId);



    List<Goods> getGoodsList(@Param("offset") int offset,
                                 @Param("rows") Integer rows,
                                 @Param("goodsName") String goodsName,
                                 @Param("goodsTypeId") Integer goodsTypeId);

    void save(Goods goods);

    void update(Goods goods);

    void delete(Integer goodsId);

    Goods getGoodsByGoodsId(Integer goodsId);

    List<Customer> getNoInventoryQuantity(@Param("offset") Integer offset,
                                          @Param("rows") Integer rows,
                                          @Param("nameOrCode") String nameOrCode);

    List<Customer> getHasInventoryQuantity(@Param("offset") Integer offset,
                                           @Param("rows") Integer rows,
                                           @Param("nameOrCode") String nameOrCode);

    void deleteStock(Integer goodsId);

    List<Goods> listAlarm();
}
